package main

import "fmt"

func main() {
	// 在 Go 里，map 只支持单一键。
	// 业务上经常遇到“好几个字段合起来才算唯一”的场景，于是就有了“多键索引”的套路：
	// 把多个字段拼成一个 key，或者用嵌套 map 套娃。
	type OrderKey struct {
		UserID int
		Seq    int
	}
	type OrderInfo struct {
		someData string
	}

	m := make(map[OrderKey]*OrderInfo)

	// 增
	m[OrderKey{UserID: 100, Seq: 2025001}] = &OrderInfo{
		someData: "my order info",
	}
	// 查
	o := m[OrderKey{UserID: 100, Seq: 2025001}]
	fmt.Println(o)

	// 嵌套 map（支持“前缀”查找）
	// 三级索引：省 → 市 → 县 → 人口
	// pop := make(map[string]map[string]map[string]int)

}
